1. Technical Field of the Invention
This invention relates to testing and analyzing a communications network. More particularly, the invention relates to measuring, monitoring, estimating, capacity planning, and tuning of network performance and throughput.
2. Background Art
Users and managers of communications networks are interested in the capacity, performance, reliability, availability, topology, service level attainment, and modeling of their networks. Currently, many separate, incompatible, complicated, and often unsatisfactory tools are required to perform the tasks required by network managers. Existing network management and planning tools and methodologies suffer from at least one of the following current shortcomings:
1. require user knowledge of and input of current (and/or proposed) network topology;
2. require user to take a trace or multiple traces (snapshot of the network over a given time period) as a basis of analysis;
3. require network devices, for selected network events, to perform calculations and store their results for subsequent retrieval or periodic reporting of this information;
4. require clock synchronization for centralized coordination and analysis of the trace and/or stored data;
5. analyze a network on a hop-by-hop basis, rather than as a whole;
6. fail either to distinguish between or even to measure at all the network""s response time capacity and the network""s throughput capacity;
7. require user knowledge and input of the capacity of the various network components (e.g., processors, adapters, and local and wide area links), which may be based upon manufacturers"" or suppliers"" claims that are erroneous or not applicable to the users"" environment;
8. require user knowledge and input of current network customization (e.g., tuning parameters); and
9. provide either analysis of the current performance and status of the network, or an estimation of the network assuming user-input changed load or configuration, or a database of the network""s past condition; but not all functions together as a seamless, consistent whole.
Users and managers of networks frequently use TCP/IP pings (i.e., architected network echo packets) to check the availability of a target resource and the network connecting to it. In addition, ping programs commonly report the ping""s round trip time, and users network managers can get a feel for the xe2x80x9cusualxe2x80x9d amount of time a ping should take between stations A and B on their network. Typically, the ping function provides one way and two way transfers. In one way pings, an echo server sends a packet to a device which discards the packet and returns a time stamp to the server. In two way pings, the device returns the packet with the time stamp.
U.S. Pat. No. 5,477,531 describes a technique of communication system analysis in which sequences of pings of different sizes are sent, transmitted in isolation from each other, in order to determine characteristics of the network beyond availability of resources and xe2x80x9cusualxe2x80x9d response time. In accordance with this technique, the best and mean times for the sequences of pings of different lengths are measured, and then the following are geometrically derived via use of the reciprocal of the packet size and bandwidth slope:
the network path""s bandwidth,
the network path""s propagation delay, and
the network path""s queuing time.
Further network testing involves sending bursts of pings to determine the loss rate of packets, from which the xe2x80x9cinternal packet size of the networkxe2x80x9d can then be determined. By this it is meant that the minimum device buffer size in the transmission path of the network can be discovered. The sending of bursts of pings of decreasing size is also described, the intent of which is to determine if smaller packets are prioritized over larger packets. In this way, the following is determined:
the network path""s minimum buffer size (also referred to as xe2x80x9cinternal packet sizexe2x80x9d); and
the network""s short frame prioritization capability.
As is recognized in this art reference, xe2x80x9cthere will generally be a plurality of network hops between the test station and the remote station, each with its own bandwidth. In these circumstances, taking the reciprocal of the slope of the line as the bandwidth is equivalent to saying that:
(1/Bandwidth)=(1/b1 +1/b2+ . . . 1/bn)
where b1, b2, . . . bn are the bandwidths of all the hops in the path. This will produce a bandwidth close to accurate only if there is one hop in the path that is significantly slower than all the others. Where this is not the case, the estimate may be inaccurate because no account is taken of the fact that for a multi-hop path, the intermediate nodes will delay onward transmission of a packet until the whole packet has been received.xe2x80x9d
Current network evaluation systems which send test packets through a network require that the evaluator have knowledge of the network""s internal topology, require that special proprietary code be installed in intermediate network devices, and do not use queuing theory or provide an analytic evaluation of the test results.
Also, current network evaluation systems which perform queuing evaluation of a network require that the evaluator have knowledge of the network""s internal topology, require storage and retrieval of data from intermediate network devices, require assembly and analysis of network traces that are depictions of the network at a given time, require knowledge of the detailed customization of all intermediate network devices, require knowledge of the capacity of each intermediate network device and device interface, and require intensive preparation to set up and use.
In addition, network traffic prioritization is currently being developed and implemented by many network equipment suppliers, who will provide prioritization by xe2x80x9ctype of servicexe2x80x9d (TOS) or xe2x80x9cclass of servicexe2x80x9d bits being set in network packets"" headers. Consequently, there is a need for testing for the presence of network prioritization support and, if present, measuring network utilization and performance by means of discrete pings set at varying priorities.
The objects of the invention include providing an improved system and method for network measurement and planning.
The objects of the invention further include, for dealing with apparent bandwidth, a key concept for understanding the network""s xe2x80x9cresponse timexe2x80x9d characteristics, providing an improved system and method for using xe2x80x9cpingsxe2x80x9d of different sizes to deduce aspects of network performance including: determining network end-to-end bandwidth; determining network end-to-end queue delay; determining network end-to-end propagation delay; and determining network internal packet size.
The objects of the invention further include providing a system and method for: improving end-to-end bandwidth analysis; expanding the concept of a queue delay to one of a queue depth; and analyzing the unitary concept of end-to-end xe2x80x9cpropagation delayxe2x80x9d as including two components; that is, (i) the end-to-end device latencies, plus (ii) the end-to-end (speed of light factored) propagation delay.
The objects of the invention further include providing a comprehensive end-to-end queuing theory system and method for network analysis.
The objects of the invention further include providing a system and method for distinguishing between and determining network response time and network throughput.
The objects of the invention further include providing a system and method for near-instantaneous network evaluations that analyze the current state of the network and allow for xe2x80x9cwhat ifxe2x80x9d scenarios involving all performance components for network planning, including: determining end-to-end network utilization; determining average message size in the network (this is not to be confused with xe2x80x9cnetwork internal packet sizexe2x80x9d, which is a measure of the minimum network device buffer size, not network user message sizes); determining end-to-end network device latencies; determining end-to-end network propagation delay (a function of distance and speed of light); determining network response times for messages of any specified length under a null network load (xe2x80x9cestimated optimal network service levelxe2x80x9d); determining network response times for messages of any specified length under the current network load (xe2x80x9cestimated current service levelxe2x80x9d); estimating network utilization level at which (a user-input) service level compliance is compromised; determining network xe2x80x9cduplexxe2x80x9d, xe2x80x9chop count,xe2x80x9d xe2x80x9cmultiserverxe2x80x9d and xe2x80x9cthroughputxe2x80x9d factors (four new end-to-end measurement concepts for network analysis and capacity planning); determining optimal maximum network window size, based on user message size, assuming no competing traffic; estimating expected current window size for a given message size at current network utilization; estimating change in response time and optimal window size if servers and/or users are relocated (e.g., datacenter consolidation or move); estimating change in response time and optimal window size if apparent network bandwidth is changed; and estimating unidirectional and bidirectional file transfer throughput capacities and window sizes under null, current, or other network load conditions.
It is a further object of the invention to provide a system and method for evaluating key network performance parameters of concern to the managers, support personnel, and planners responsible for data communication and data, voice, and video communications networks.
It is a further object of the invention to provide a system and method for performing rigorous, real-time, queuing theory-based network analysis without need for knowledge of the components, topology or usage characteristics of the network.
It is a further object of the invention to provide a flexible, portable, easy to use network analysis method and system which works on a live network, provides instantaneous analysis of the current condition of the network, provides the capability to establish an historical database, and provides xe2x80x98what ifxe2x80x99 analysis for future network changes.
It is a further object of the invention to provide a system and method for testing for the presence of network prioritization support and, if present, measuring network utilization and performance by means of discrete pings set at varying priorities.
In accordance with the invention, a system and method is provided for evaluating a communications network. A plurality of network evaluation signals, or probative test packets, are selectively sent and received through the network. Responsive to these evaluation signals, selective network evaluation parameters are determined and stored. Queuing theory analysis, responsive to these parameters, determines the response time and throughput characteristics, including capacity, utilization and performance, of the network.